/**
 * HTTP 请求封装
 * @param {Object} object 请求配置对象
 * @returns {Promise} 返回一个 Promise，结果为请求响应数据
 */
let info = require('@/siteinfo');
const useRequest = async (object) => {
    // 返回一个 Promise 来包装 uni.request
    return new Promise((resolve, reject) => {
        uni.request({
            // url: object.url,
			url: `${info.root}${object.url}`,
            header: object.header || uni.getStorageSync('ACCESS_TOKEN'), // 获取 header，可以自定义
			// header: {
			// 	'token': object.header || uni.getStorageSync('ACCESS_TOKEN'),
			// },
            data: object.data, // 请求数据
            method: object.method || "GET", // 默认 GET 请求
            dataType: object.dataType || "json", // 默认 json 数据类型
            success: (res) => {
                // 请求成功时，直接 resolve 响应数据
                resolve(res);
            },
            fail: (error) => {
                // 请求失败时，直接 reject 错误信息
                console.error('Request failed:', error);
                reject(error);
            }
        });
    });
};

export default useRequest;
